96cd129e142718839ec214f07d98bf152bcafac5,src/main/java/net/bootsfaces/component/dateTimePicker/DateTimePickerRenderer.java,DateTimePickerRenderer,encodeHTML,#FacesContext#ResponseWriter#DateTimePicker#,148
Before Change
if (v != null) {
rw.writeAttribute("value", getValueAsString(v, fc, dtp), null);
}
Tooltip.generateTooltip(fc, dtp, rw);
// Render Ajax Capabilities
AJAXRenderer.generateBootsFacesAJAXAndJavaScript(FacesContext.getCurrentInstance(), dtp, rw, false);
rw.endElement("input");
After Change
private String encodeHTML(FacesContext fc, ResponseWriter rw, DateTimePicker dtp)
throws IOException {
String clientId = dtp.getClientId();
boolean clientIdHasBeenRendered=false;
String mode = dtp.getMode();
String styleClass = dtp.getStyleClass();
if(styleClass == null) styleClass = "";
styleClass = styleClass.trim();
String responsiveStyleClass = Responsive.getResponsiveStyleClass(dtp, false);
String label = dtp.getLabel();
if (!dtp.isRenderLabel()) {
label = null;
}
String divPrefix="";
if (null != responsiveStyleClass && responsiveStyleClass.trim().length()>0) {
rw.startElement("div", dtp);
if (!isHorizontalForm(dtp)) {
rw.writeAttribute("class", responsiveStyleClass + " form-group", "class");
} else {
rw.writeAttribute("class", "form-group", "class");
}
rw.writeAttribute("id", clientId, null);
Tooltip.generateTooltip(fc, dtp, rw);
clientIdHasBeenRendered=true;
divPrefix=DTP_CONTAINER_ID;
} else if (label != null) {
rw.startElement("div", dtp);
rw.writeAttribute("id", clientId, null);
divPrefix=DTP_CONTAINER_ID;
Tooltip.generateTooltip(fc, dtp, rw);
clientIdHasBeenRendered=true;
}
if (label != null) {
rw.startElement("label", dtp);
rw.writeAttribute("for", clientId + "_Input", "for"); // "input_" + clientId
generateErrorAndRequiredClassForLabels(dtp, rw, clientId, dtp.getLabelStyleClass());
writeAttribute(rw, "style", dtp.getLabelStyle());
rw.writeText(label, null);
rw.endElement("label");
}
if (isHorizontalForm(dtp) && null != responsiveStyleClass && responsiveStyleClass.trim().length()>0) {
rw.startElement("div", dtp);
rw.writeAttribute("class", responsiveStyleClass, "class");
if (!clientIdHasBeenRendered) {
rw.writeAttribute("id", clientId, null);
Tooltip.generateTooltip(fc, dtp, rw);
clientIdHasBeenRendered=true;
divPrefix=DTP_CONTAINER_ID2;
}
}
Object v = dtp.getSubmittedValue();
if (v == null) {
v = dtp.getValue();
}
// Icon
String icon = dtp.getIcon();
String faicon = dtp.getIconAwesome();
boolean fa = false;
if (BsfUtils.isStringValued(faicon)) {
icon = faicon;
fa = true;
}
if(!BsfUtils.isStringValued(icon)) {
icon = "calendar";
fa = false;
}
if ("plain".equals(mode)) {
// simple wrapper
rw.startElement("div", dtp);
if (styleClass.length() > 0) {
rw.writeAttribute("class", styleClass, "class");
}
rw.writeAttribute("id", divPrefix + clientId, null);
rw.writeAttribute("class", "input-group date " + styleClass, "class");
if(dtp.getStyle() != null) rw.writeAttribute("style", dtp.getStyle(), "style");
// input
rw.startElement("input", dtp);
rw.writeAttribute("type", "text", null);
rw.writeAttribute("id", clientId + "_Input", null);
rw.writeAttribute("name", clientId, null);
//rw.writeAttribute("class", "form-control " + getErrorAndRequiredClass(dtp, clientId), "class");
generateStyleClass(dtp, rw);
if(BsfUtils.isStringValued(dtp.getPlaceholder())) rw.writeAttribute("placeholder", dtp.getPlaceholder(), null);
if (dtp.isReadonly()) rw.writeAttribute("readonly", "readonly", null);
if (dtp.isDisabled()) rw.writeAttribute("disabled", "true", null);
if (v != null) {
rw.writeAttribute("value", getValueAsString(v, fc, dtp), null);
}
Tooltip.generateTooltip(fc, dtp, rw);
// Render Ajax Capabilities
AJAXRenderer.generateBootsFacesAJAXAndJavaScript(FacesContext.getCurrentInstance(), dtp, rw, false);
rw.endElement("input");
// span
rw.startElement("span", dtp);
rw.writeAttribute("class", "input-group-addon", "class");
IconRenderer.encodeIcon(rw, dtp, icon, fa, null, null, null, false, null, null, dtp.isDisabled(), true, true, true);
rw.endElement("span");
rw.endElement("div");
}
else if ("inline".equals(mode)) {
// div
rw.startElement("div", dtp);
rw.writeAttribute("class", "input-group date " + styleClass, "class");
if(dtp.getStyle() != null) rw.writeAttribute("style", (dtp.isDisabled() ? "opacity: 0.65; pointer-events: none;" : "") + dtp.getStyle(), "style");
else if(dtp.isDisabled()) rw.writeAttribute("style", "opacity: 0.65; pointer-events: none;", null);
rw.writeAttribute("id", divPrefix + clientId, null);
if (!clientIdHasBeenRendered) {
Tooltip.generateTooltip(fc, dtp, rw);
clientIdHasBeenRendered=true;
}
rw.endElement("div");
// write the input item
rw.startElement("input", dtp);
rw.writeAttribute("id", clientId + "_Input", null);
rw.writeAttribute("name", clientId, null);
rw.writeAttribute("type", "hidden", "type");
if (dtp.isReadonly()) rw.writeAttribute("readonly", "readonly", null);
if (dtp.isDisabled()) rw.writeAttribute("disabled", "true", null);
if (v != null) {
rw.writeAttribute("value", getValueAsString(v, fc, dtp), null);
}
rw.endElement("input");
}
else { // "popup"
// div
rw.startElement("div", dtp);
rw.writeAttribute("class", "input-group date " + styleClass, "class");
if(dtp.getStyle() != null) rw.writeAttribute("style", dtp.getStyle(), "style");
rw.writeAttribute("id", divPrefix + clientId, null);
if (!clientIdHasBeenRendered) {
Tooltip.generateTooltip(fc, dtp, rw);
clientIdHasBeenRendered=true;
divPrefix=DTP_CONTAINER_ID2;
}